package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 房间信息管理对象 lhk_room
 * 
 * @author fzb
 * @date 2025-05-29
 */
public class LhkRoom extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 房间id */
    private Long roomId;

    /** 酒店id */
    @Excel(name = "酒店id")
    private Long hotelId;

    /** 房间类型id */
    @Excel(name = "房间类型id")
    private Long roomTypeId;

    /** 楼层 */
    @Excel(name = "楼层")
    private Long floor;

    /** 房间号 */
    @Excel(name = "房间号")
    private String roomNumber;

    /** 状态 */
    @Excel(name = "状态")
    private Long status;

    /** 入住时间 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "入住时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date checkinTime;

    /** 退房时间 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "退房时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date checkoutTime;

    /** 房间介绍 */
    @Excel(name = "房间介绍")
    private String roomDesc;

    /** 房间图片 */
    @Excel(name = "房间图片")
    private String imgUrl;

    // 管理员ID
    @Excel(name = "管理员ID")
    private Integer managerId;

    // 酒店信息
    @Excel(name = "酒店信息")
    private LhkHotelInfo hotelInfo;

    public LhkHotelInfo getHotelInfo() {
        return hotelInfo;
    }

    public void setHotelInfo(LhkHotelInfo hotelInfo) {
        this.hotelInfo = hotelInfo;
    }

    public Integer getManagerId() {
        return managerId;
    }

    public void setManagerId(Integer managerId) {
        this.managerId = managerId;
    }

    public void setRoomId(Long roomId)
    {
        this.roomId = roomId;
    }

    public Long getRoomId() 
    {
        return roomId;
    }

    public void setHotelId(Long hotelId) 
    {
        this.hotelId = hotelId;
    }

    public Long getHotelId() 
    {
        return hotelId;
    }

    public void setRoomTypeId(Long roomTypeId) 
    {
        this.roomTypeId = roomTypeId;
    }

    public Long getRoomTypeId() 
    {
        return roomTypeId;
    }

    public void setFloor(Long floor) 
    {
        this.floor = floor;
    }

    public Long getFloor() 
    {
        return floor;
    }

    public void setRoomNumber(String roomNumber) 
    {
        this.roomNumber = roomNumber;
    }

    public String getRoomNumber() 
    {
        return roomNumber;
    }

    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    public void setCheckinTime(Date checkinTime) 
    {
        this.checkinTime = checkinTime;
    }

    public Date getCheckinTime() 
    {
        return checkinTime;
    }

    public void setCheckoutTime(Date checkoutTime) 
    {
        this.checkoutTime = checkoutTime;
    }

    public Date getCheckoutTime() 
    {
        return checkoutTime;
    }

    public void setRoomDesc(String roomDesc) 
    {
        this.roomDesc = roomDesc;
    }

    public String getRoomDesc() 
    {
        return roomDesc;
    }

    public void setImgUrl(String imgUrl) 
    {
        this.imgUrl = imgUrl;
    }

    public String getImgUrl() 
    {
        return imgUrl;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("roomId", getRoomId())
            .append("hotelId", getHotelId())
            .append("roomTypeId", getRoomTypeId())
            .append("floor", getFloor())
            .append("roomNumber", getRoomNumber())
            .append("status", getStatus())
            .append("checkinTime", getCheckinTime())
            .append("checkoutTime", getCheckoutTime())
            .append("roomDesc", getRoomDesc())
            .append("imgUrl", getImgUrl())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("管理员ID", getManagerId())
            .append("酒店信息", getHotelInfo())
            .toString();
    }
}
